home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / mac / hypercar / organiza / referfra.sit / Reference Frame / card_3557.txt < prev    next >
Text File  |  1989-07-09  |  14KB  |  605 lines

  1. -- card: 3557 from stack: in
  2. -- bmap block id: 7103
  3. -- flags: 4000
  4. -- background id: 2889
  5. -- name: Options
  6. ----- HyperTalk script -----
  7. on openCard
  8.   global expert
  9.   if hilite of button "expert" is true then
  10.     put true into expert
  11.   else
  12.     put false into expert
  13.   end if
  14. end openCard
  15.  
  16.  
  17. -- part 3 (button)
  18. -- low flags: 00
  19. -- high flags: 8005
  20. -- rect: left=183 top=111 right=134 bottom=327
  21. -- title width / last selected line: 0
  22. -- icon id / first selected line: 0 / 0
  23. -- text alignment: 1
  24. -- font id: 0
  25. -- text size: 12
  26. -- style flags: 0
  27. -- line height: 16
  28. -- part name: Export References
  29. ----- HyperTalk script -----
  30. on mouseUp
  31.   global exportOn, exportFile, wrtNumbers, exportNumber
  32.  
  33.   set lockScreen to true
  34.   if hilite of button "Export References" is true then
  35.     set hilite of button "Export References" to false
  36.     put false into exportOn
  37.     push card
  38.     go to "Papers"
  39.     hide background button "Export"
  40.     pop card
  41.     close file exportFile
  42.   else
  43.     ask "Please enter the name of the export file:" with "References.TeX"
  44.     if it is empty then
  45.       exit mouseUp
  46.     else
  47.       put it into exportFile
  48.     end if
  49.     set hilite of button "Export References" to true
  50.     put true into exportOn
  51.     push card
  52.     go to card "format"
  53.     if hilite of card button "Number List?" is true then
  54.       put true into wrtNumbers
  55.     else
  56.       put false into wrtNumbers
  57.     end if
  58.     pop card
  59.     push card
  60.     go to "Papers"
  61.     show background button "Export"
  62.     pop card
  63.     open file exportFile
  64.     put 1 into exportNumber
  65.   end if
  66. end mouseUp
  67.  
  68.  
  69.  
  70. -- part 11 (button)
  71. -- low flags: 00
  72. -- high flags: A002
  73. -- rect: left=268 top=26 right=47 bottom=340
  74. -- title width / last selected line: 0
  75. -- icon id / first selected line: 0 / 0
  76. -- text alignment: 1
  77. -- font id: 0
  78. -- text size: 12
  79. -- style flags: 0
  80. -- line height: 16
  81. -- part name: Abstracts
  82. ----- HyperTalk script -----
  83. on mouseUp
  84.   go to first card of "Abstracts"
  85. end mouseUp
  86.  
  87.  
  88. -- part 12 (button)
  89. -- low flags: 00
  90. -- high flags: A002
  91. -- rect: left=345 top=26 right=47 bottom=421
  92. -- title width / last selected line: 0
  93. -- icon id / first selected line: 0 / 0
  94. -- text alignment: 1
  95. -- font id: 0
  96. -- text size: 12
  97. -- style flags: 0
  98. -- line height: 16
  99. -- part name: Key Words
  100. ----- HyperTalk script -----
  101. on mouseUp
  102.   go to first card of "Key Words"
  103. end mouseUp
  104.  
  105.  
  106. -- part 13 (button)
  107. -- low flags: 00
  108. -- high flags: 2000
  109. -- rect: left=425 top=19 right=55 bottom=464
  110. -- title width / last selected line: 0
  111. -- icon id / first selected line: 21060 / 21060
  112. -- text alignment: 1
  113. -- font id: 0
  114. -- text size: 12
  115. -- style flags: 0
  116. -- line height: 16
  117. -- part name: Help
  118. ----- HyperTalk script -----
  119. on mouseUp
  120.   global expert
  121.   set the lockScreen to true
  122.   push card
  123.   go to card "Options-Help" of "Reference Frame"
  124.   if expert is not true then show card field "Options-Help"
  125. end mouseUp
  126.  
  127.  
  128.  
  129. -- part 16 (button)
  130. -- low flags: 00
  131. -- high flags: A002
  132. -- rect: left=207 top=26 right=47 bottom=263
  133. -- title width / last selected line: 0
  134. -- icon id / first selected line: 0 / 0
  135. -- text alignment: 1
  136. -- font id: 0
  137. -- text size: 12
  138. -- style flags: 0
  139. -- line height: 16
  140. -- part name: Papers
  141. ----- HyperTalk script -----
  142. on mouseUp
  143.   go to first card of "Papers"
  144. end mouseUp
  145.  
  146.  
  147. -- part 14 (button)
  148. -- low flags: 00
  149. -- high flags: 2000
  150. -- rect: left=456 top=10 right=63 bottom=490
  151. -- title width / last selected line: 0
  152. -- icon id / first selected line: 1014 / 1014
  153. -- text alignment: 1
  154. -- font id: 0
  155. -- text size: 12
  156. -- style flags: 0
  157. -- line height: 16
  158. -- part name: Prev
  159. ----- HyperTalk script -----
  160. on mouseUp
  161.   go to card "Information"
  162. end mouseUp
  163.  
  164.  
  165.  
  166. -- part 15 (button)
  167. -- low flags: 00
  168. -- high flags: 2000
  169. -- rect: left=478 top=10 right=63 bottom=512
  170. -- title width / last selected line: 0
  171. -- icon id / first selected line: 1013 / 1013
  172. -- text alignment: 1
  173. -- font id: 0
  174. -- text size: 12
  175. -- style flags: 0
  176. -- line height: 16
  177. -- part name: Next
  178. ----- HyperTalk script -----
  179. on mouseUp
  180.   visual effect iris close slow
  181.   go to card "Title"
  182. end mouseUp
  183.  
  184.  
  185.  
  186. -- part 17 (button)
  187. -- low flags: 00
  188. -- high flags: A002
  189. -- rect: left=65 top=207 right=228 bottom=190
  190. -- title width / last selected line: 0
  191. -- icon id / first selected line: 0 / 0
  192. -- text alignment: 1
  193. -- font id: 0
  194. -- text size: 12
  195. -- style flags: 0
  196. -- line height: 16
  197. -- part name: Abstract ID's
  198. ----- HyperTalk script -----
  199. on mouseUp
  200.   set lockScreen to true
  201.   ask "Please enter the name of the export file:" with "Abstracts.text"
  202.   if it is empty then exit mouseUp
  203.   put it into exportFile
  204.   ask "Please enter search string:"
  205.   if it is empty then exit mouseUp
  206.   put it into exportString
  207.   push card
  208.   go to first card of stack "Abstracts"
  209.   find exportString
  210.   if the result is not empty then
  211.     close file exportFile
  212.     exit mouseUp
  213.   end if
  214.   --
  215.   -- got something to write
  216.   --
  217.   set cursor to 4
  218.   open file exportFile
  219.   put field "ID" into firstCard
  220.   write "The following is a list of paper ID's " to file exportFile
  221.   write "which contain the string, " & exportString to file exportFile
  222.   write return & return to file exportFile
  223.   write field "ID" & return to file exportFile
  224.   repeat
  225.     find exportString
  226.     if field "ID" is firstCard then
  227.       --
  228.       -- normal exit
  229.       --
  230.       close file exportFile
  231.       pop card
  232.       exit mouseUp
  233.     end if
  234.     write field "ID" & return to file exportFile
  235.   end repeat
  236. end mouseUp
  237.  
  238.  
  239.  
  240. -- part 18 (button)
  241. -- low flags: 00
  242. -- high flags: A002
  243. -- rect: left=318 top=207 right=228 bottom=443
  244. -- title width / last selected line: 0
  245. -- icon id / first selected line: 0 / 0
  246. -- text alignment: 1
  247. -- font id: 0
  248. -- text size: 12
  249. -- style flags: 0
  250. -- line height: 16
  251. -- part name: Key Word ID's
  252. ----- HyperTalk script -----
  253. on mouseUp
  254.   set lockScreen to true
  255.   ask "Please enter the name of the export file:" with "KeyWords.text"
  256.   if it is empty then exit mouseUp
  257.   put it into exportFile
  258.   ask "Please enter key word:"
  259.   if it is empty then exit mouseUp
  260.   put it into exportKey
  261.   push card
  262.   go to first card of stack "Key Words"
  263.   find exportKey
  264.   if the result is not empty then
  265.     close file exportFile
  266.     exit mouseUp
  267.   end if
  268.   --
  269.   -- got something to write
  270.   --
  271.   set cursor to 4
  272.   open file exportFile
  273.   put field "ID" into firstCard
  274.   write "The following is a list of paper ID's " to file exportFile
  275.   write "which contain the key word, " & exportKey to file exportFile
  276.   write return & return to file exportFile
  277.   write field "ID" & return to file exportFile
  278.   repeat
  279.     find exportKey
  280.     if field "ID" is firstCard then
  281.       --
  282.       -- normal exit
  283.       --
  284.       close file exportFile
  285.       pop card
  286.       exit mouseUp
  287.     end if
  288.     write field "ID" & return to file exportFile
  289.   end repeat
  290. end mouseUp
  291.  
  292.  
  293.  
  294.  
  295. -- part 19 (button)
  296. -- low flags: 00
  297. -- high flags: 8005
  298. -- rect: left=222 top=296 right=318 bottom=366
  299. -- title width / last selected line: 0
  300. -- icon id / first selected line: 0 / 0
  301. -- text alignment: 1
  302. -- font id: 0
  303. -- text size: 12
  304. -- style flags: 0
  305. -- line height: 16
  306. -- part name: Expert
  307. ----- HyperTalk script -----
  308. on mouseUp
  309.   global expert
  310.   if hilite of button "Expert" is true then
  311.     set hilite of button "Expert" to false
  312.     put false into expert
  313.     exit mouseUp
  314.   else
  315.     set hilite of button "Expert" to true
  316.     put true into expert
  317.   end if
  318. end mouseUp
  319.  
  320.  
  321.  
  322. -- part 20 (button)
  323. -- low flags: 00
  324. -- high flags: A002
  325. -- rect: left=21 top=111 right=134 bottom=138
  326. -- title width / last selected line: 0
  327. -- icon id / first selected line: 0 / 0
  328. -- text alignment: 1
  329. -- font id: 0
  330. -- text size: 12
  331. -- style flags: 0
  332. -- line height: 16
  333. -- part name: Format Output
  334. ----- HyperTalk script -----
  335. on mouseUp
  336.   go to card "format"
  337. end mouseUp
  338.  
  339.  
  340.  
  341. -- part 21 (button)
  342. -- low flags: 00
  343. -- high flags: A002
  344. -- rect: left=372 top=111 right=134 bottom=489
  345. -- title width / last selected line: 0
  346. -- icon id / first selected line: 0 / 0
  347. -- text alignment: 1
  348. -- font id: 0
  349. -- text size: 12
  350. -- style flags: 0
  351. -- line height: 16
  352. -- part name: Import-Export
  353. ----- HyperTalk script -----
  354. on mouseUp
  355.   global exportFile, cardID, text
  356.   set lockScreen to true
  357.   ask "Please enter the name of the import file:" with "KeyWords.Input"
  358.   if it is empty then exit mouseUp
  359.   put it into importFile
  360.   open file importFile
  361.   -- check to see if importFile is empty --
  362.   read from file importFile until return
  363.   if it is empty then
  364.     answer "Sorry, file" && importFile && "is empty" with "OK"
  365.     close file importFile
  366.     exit mouseUp
  367.   end if
  368.   put it into cardID
  369.  
  370.   ask "Please enter the name of the export file:" with "References.TeX"
  371.   if it is empty then
  372.     close importFile
  373.     exit mouseUp
  374.   end if
  375.   put it into exportFile
  376.   open file exportFile
  377.   push card
  378.  
  379.   -- make sure that globals are defined --
  380.   set the cursor to 4
  381.   go to card "format"
  382.   pop card
  383.   push card
  384.  
  385.   go to first card of stack "Papers"
  386.   put "1" into n
  387.   repeat
  388.     if the charToNum of last char in cardID < 32 then  -- delete return
  389.       delete last char in cardID
  390.     end if
  391.     find cardID in field "ID"
  392.     if the result is not empty then
  393.       answer cardID && "was not found" with "Continue"
  394.     else
  395.       put output(n) into it
  396.       put n + 1 into n
  397.     end if
  398.     read from file importFile until return
  399.     if it is empty then
  400.       close file importFile
  401.       close file exportFile
  402.       pop card
  403.       exit mouseUp
  404.     end if
  405.     put it into cardID
  406.   end repeat
  407. end mouseUp
  408.  
  409.  
  410. --
  411. -- output() writes this current record to file exportFile
  412. --
  413. function output number
  414. global prefix, wrtNumbers, numberAffix, howMany, order, affix , nBlankL, exportFile
  415.  
  416. put prefix into string
  417. if wrtNumbers is true then
  418.   put string & number & numberAffix into string
  419. end if
  420. --
  421. -- check to see if this is a special case
  422. --
  423. if background field "Special Case" is not empty then
  424.   put string & background field "Special Case" into string
  425. else                                 -- build a normal reference --
  426.   repeat with i = 1 to howMany
  427.     if item i of order is "authors" then
  428.       put string & buildAuthors(field "authors") & line i of affix into string
  429.     else
  430.       put string & field item i of order & line i of affix into string
  431.     end if
  432.   end repeat
  433. end if
  434.  
  435. write wrap(string) to file exportFile
  436. repeat with i = 1 to nBlankL + 1
  437.   write return to file exportFile
  438. end repeat
  439. end output
  440.  
  441. --
  442. -- buildAuthors() builds author list in correct format
  443. --
  444. function buildAuthors authors
  445. global authorOrder, authorsAffix
  446. put authorOrder into order
  447. put authorsAffix into affix
  448.  
  449. put number of items in authors into numAuthors
  450. put item 1 of authors into name
  451. put firstName(name) into firstN
  452. if char 1 of firstN is " " then delete char 1 of firstN
  453. put lastName(name) into lastN
  454. if char 1 of order is "f" then
  455.   put firstN & line 1 of affix & lastN into outStr
  456. else
  457.   put lastN & line 1 of affix & firstN into outStr
  458. end if
  459. delete char 1 to 2 of order
  460. delete line 1 of affix
  461.  
  462. repeat with n = 2 to numAuthors - 1
  463.   put outStr & line 1 of affix into outStr
  464.   put item n of authors into name
  465.   put firstName(name) into firstN
  466.   if char 1 of firstN is " " then delete char 1 of firstN
  467.   put lastName(name) into lastN
  468.   if char 1 of order is "f" then
  469.     put outStr & firstN & line 2 of affix & lastN into outStr
  470.   else
  471.     put outStr & lastN & line 2 of affix & firstN into outStr
  472.   end if
  473. end repeat
  474. if numAuthors < 2 then return outStr
  475.  
  476. delete char 1 to 2 of order
  477. delete line 1 to 2 of affix
  478. put outStr & line 1 of affix into outStr
  479. put item numAuthors of authors into name
  480. put firstName(name) into firstN
  481. if char 1 of firstN is " " then delete char 1 of firstN
  482. put lastName(name) into lastN
  483. if char 1 of order is "f" then
  484.   put outStr & firstN & line 2 of affix & lastN into outStr
  485. else
  486.   put outStr & lastN & line 2 of affix & firstN into outStr
  487. end if
  488. return outStr
  489. end buildAuthors
  490.  
  491. --
  492. -- firstName() returns first name from string name
  493. --
  494. function firstName name
  495. put offset(last word of name,name) - 1 into numOfChars
  496. if char numOfChars of name is " " then
  497.   put numOfChars - 1 into numOfChars
  498. end if
  499. return char 1 to numOfChars of name
  500. end firstName
  501.  
  502.  
  503. --
  504. -- lastName() returns last name from string name
  505. --
  506. function lastName name
  507. put last word of name into temp
  508. if char 1 of temp is quote then
  509.   delete char 1 of temp
  510.   repeat with i = 1 to number of chars in temp
  511.     if char i of temp is quote then delete char i of temp
  512.   end repeat
  513. end if
  514. return temp
  515. end lastName
  516.  
  517. --
  518. -- wrap() breaks string into lines of at most 80 characters
  519. --
  520. function wrap string
  521. put number of chars in string into nChars
  522. put "80" into start
  523. put "1" into stop
  524. repeat
  525.   if start > nChars then exit repeat
  526.   put start into i
  527.   repeat while i > stop
  528.     if char i of string is space then
  529.       put return into char i of string
  530.       put i + 1 into stop
  531.       put 79 + stop into start
  532.       exit repeat
  533.     end if
  534.     put i - 1 into i
  535.   end repeat
  536.   if i is stop then
  537.     repeat with i = start to nChars
  538.       if char i of string is space then
  539.         put return into char i of string
  540.         put i + 1 into stop
  541.         put 79 + stop into start
  542.         exit repeat
  543.       end if
  544.     end repeat
  545.   end if
  546. end repeat
  547. return string
  548. end wrap
  549.  
  550.  
  551.  
  552. -- part 22 (button)
  553. -- low flags: 00
  554. -- high flags: A002
  555. -- rect: left=318 top=207 right=228 bottom=443
  556. -- title width / last selected line: 0
  557. -- icon id / first selected line: 0 / 0
  558. -- text alignment: 1
  559. -- font id: 0
  560. -- text size: 12
  561. -- style flags: 0
  562. -- line height: 16
  563. -- part name: Key Word ID's
  564. ----- HyperTalk script -----
  565. on mouseUp
  566.   set lockScreen to true
  567.   ask "Please enter the name of the export file:" with "KeyWords.text"
  568.   if it is empty then exit mouseUp
  569.   put it into exportFile
  570.   ask "Please enter key word:"
  571.   if it is empty then exit mouseUp
  572.   put it into exportKey
  573.   push card
  574.   go to first card of stack "Key Words"
  575.   find exportKey
  576.   if the result is not empty then
  577.     close file exportFile
  578.     exit mouseUp
  579.   end if
  580.   --
  581.   -- got something to write
  582.   --
  583.   set cursor to 4
  584.   open file exportFile
  585.   put field "ID" into firstCard
  586.   write "The following is a list of paper ID's " to file exportFile
  587.   write "which contain the key word, " & exportKey to file exportFile
  588.   write return & return to file exportFile
  589.   write field "ID" & return to file exportFile
  590.   repeat
  591.     find exportKey
  592.     if field "ID" is firstCard then
  593.       --
  594.       -- normal exit
  595.       --
  596.       close file exportFile
  597.       pop card
  598.       exit mouseUp
  599.     end if
  600.     write field "ID" & return to file exportFile
  601.   end repeat
  602. end mouseUp
  603.  
  604.  
  605.